package self.hoy.demo.common.exception;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 错误码和错误信息定义类
 * a. 错误码定义规则为5位数字
 * b. 前两位表示业务场景，后三位表示错误码
 * c. 维护错误码后需要维护错误描述，将他们定义为枚举形式
 * 错误码列表：
 * 10: 通用
 *      001: 参数格式校验
 *      002: 短信验证码频率过高
 * 11: 商品
 * 12: 订单
 * 13: 购物车
 * 14: 物流
 * @author hyh
 * @date 2020/7/16
 */
@Getter
@AllArgsConstructor
public enum BizCodeEnum {
    UNKNOWN(10000, "系统未知异常"),
    INVALID(10001, "参数格式校验失败"),
    SMS_CODE(10002, "验证码频率过高"),
    PRODUCT_UP(11000, "商品上架异常"),
    USER_EXIST(15001, "用户已存在"),
    PHONE_EXIST(15002, "手机号码已存在"),
    EMAIL_EXIST(15003, "邮箱地址已存在"),
    WRONG_LOGIN(15004, "账号或密码错误"),
    ;

    private int code;
    private String msg;
}
